Even a minor modification to one module of a computer program may cause an unintended consequence in the same program module or in a different computer program or module that is related to or that directly or indirectly communicates with the modified module. The complex nature of much computer software may make it difficult to analyze or predict such effects.